home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
015
/
rset.arc
/
TSET.PAS
< prev
Wrap
Pascal/Delphi Source File
|
1986-08-12
|
5KB
|
169 lines
program Toshiba_P351_Setup;
{$C-}
const
BEL = $07;
Windows = 2;
Wtab : array[1..Windows,1..5] of Integer
= ((10, 14, 71, 24, 1), { X0,Y0,X1,Y1,LineNo }
(26, 2, 54, 11, 1)
);
var
i : Integer;
Ch : Char;
Command : Char;
Col : string[2];
procedure Beep;
{ring the console bell}
begin
write (chr(BEL))
end;
procedure Frame(UpperLeftX, UpperLeftY, LowerRightX, LowerRightY: Integer);
var
i: Integer;
begin
GotoXY(UpperLeftX, UpperLeftY); Write(chr(201));
for i:=UpperLeftX+1 to LowerRightX-1 do Write(chr(205));
Write(chr(187));
for i:=UpperLeftY+1 to LowerRightY-1 do
begin
GotoXY(UpperLeftX , i); Write(chr(186));
GotoXY(LowerRightX, i); Write(chr(186));
end;
GotoXY(UpperLeftX, LowerRightY);
Write(chr(200));
for i:=UpperLeftX+1 to LowerRightX-1 do Write(chr(205));
Write(chr(188));
end { Frame };
procedure SelectWindow(Win: Integer);
begin
Window(Wtab[Win,1], Wtab[Win,2], Wtab[Win,3], Wtab[Win,4])
end { SelectWindow };
procedure Show_Commands;
begin
LowVideo;
SelectWindow(1);
GoToXY(1,1);
writeln(' Toshiba P351 Parameter Set Routine');
writeln(' Available Commands');
writeln;
writeln(' <F>ormfeed <R>eset printer');
writeln(' <6> lines per inch <8> lines per inch');
writeln(' <L>ong print mode <D>raft print mode');
writeln(' <E>lite print mode <P>ica print mode');
writeln(' 1<0> characters per inch 1<2> characters/inch');
writeln(' <C>ondensed print mode <S>top');
writeln(' <M>argin set (left) <B>reak pages');
write (' <T>oshiba mode <I>BM Graphics mode');
SelectWindow(2);
GoToXY(1,1);
end;
procedure GetCommand;
begin
write (' Command: ');
repeat
read (KBD,Command);
Command := UpCase(Command);
if NOT (Command in ['F','6','8','R','L','I','T','D','E','P',
'C','0','M','B','2','S']) then Beep
until Command in ['F','6','8','R','L','I','T','D','E','P',
'C','0','M','B','2','S'];
case Command of
'F' : begin
writeln('Formfeed');
write(LST,chr(12))
end;
'6' : begin
writeln('6 lines per inch');
write(LST,chr(27),'L08')
end;
'8' : begin
writeln('8 lines per inch');
write(LST,chr(27),'L06')
end;
'R' : begin
writeln('Reset printer');
write(LST,chr(27),chr(26),'I')
end;
'L' : begin
writeln('Long print mode');
write(LST,chr(27),'!')
end;
'D' : begin
writeln('Draft mode');
write(LST,chr(27),'*0')
end;
'E' : begin
writeln('Elite mode');
write(LST,chr(27),'*1')
end;
'P' : begin
writeln('Pica mode');
write(LST,chr(27),'*2')
end;
'C' : begin
writeln('Condensed mode');
write(LST,chr(27),'[')
end;
'S' : begin
writeln('Stop execution');
Window(1,1,80,25);
GoToXY(1,1);
Delay (1000);
ClrScr;
Halt
end;
'0' : begin
writeln('10 cpi');
write(LST,chr(27),'E12')
end;
'M' : begin
writeln('Set left margin');
write (' Column: ');
readln (Col);
if length(Col) = 1
then Col := '0' + Col;
write (LST,chr(27),'C',Col);
write (LST,chr(27),'9')
end;
'B' : begin
writeln('Set page break');
write(LST,chr(27),'P05');
write(LST,chr(27),'+');
write(LST,chr(27),'P58');
write(LST,chr(27),'-');
write(LST,chr(12))
end;
'I' : begin
writeln('IBM Graphics on');
write(LST,chr(27),'_1')
end;
'T' : begin
writeln('Toshiba on');
write(LST,chr(27),'_0')
end;
'2' : begin
writeln('12 cpi');
write(LST,chr(27),'E10')
end
end
end;
begin
ClrScr;
for I:= 1 to Windows do
frame(Wtab[i,1]-1,Wtab[i,2]-1,Wtab[i,3]+1,Wtab[i,4]+1);
Show_Commands;
write(LST,chr(27),chr(26),'I');
Repeat
GetCommand
until FALSE
end.